# pip install nltk
from nltk.translate.bleu_score import sentence_bleu
# 参考序列（可以有多个参考，每个参考是分词后的列表）
references = [['我', '爱', '自然', '语言', '学习']]
# 候选序列（分词后的列表）
candidate = ['我', '喜欢', '自然', '语言']
# 计算BLEU分数（默认使用1-gram到4-gram的均匀权重）
score = sentence_bleu(references, candidate,weights=(0.6, 0.4, 0, 0))
print(f"BLEU score: {score:.4f}")
# 注意如果references是多个参考，则最终输出为多个参考BLEU分数中的最大值

